if (done) return;
done = 1;
- for (index = 0; index < 65536 * 1; index++)
+ for (index = 0; index < 65536; index++)
{
- float value = index / (65535 * 1.0);
+ float value = index / 65535.5;
linear_to_gamma[index] = babl_linear_to_gamma_2_2 (value) * 65536;
}
}
return 0x00;
if (value >= 1.0)
return 0xFF;
- index = (unsigned int)(value * 65535);
+ index = (unsigned int)(value * 65535.5);
return linear_to_gamma[index] / 257 + 0.5f;
}
return 0x00;
if (value >= 1.0)
return 0xFF;
- index = (unsigned int)(value * 65535);
+ index = (unsigned int)(value * 65535.5);
return linear_to_gamma[index] * alpha / 257 + 0.5f;
}
dst[3] = src[3] * 0xFF + 0.5f;
}
}
-
src += 4;
dst += 4;
}